home *** CD-ROM | disk | FTP | other *** search
/ Micromanía: 150 Juegos 2010 / 150Juegos_16.iso / Shareware / Juegos Flash / desertZone.dcr / Internal_48_poppingwheel.ls < prev    next >
Encoding:
Text File  |  2003-08-01  |  1.6 KB  |  50 lines

  1. property pTrackmanager, pSN, pPosition, pDirection, pAnimCounter, pAnimStates, pVelocity, pAnimSpeed
  2.  
  3. on new me, tTrackManager, tPos, tCarPos, tWheelMembers
  4.   pTrackmanager = tTrackManager
  5.   pSN = pTrackmanager.getSpriteManager().getSN(1, #poppingwheel)
  6.   t = tPos + tCarPos
  7.   pPosition = point(t[1], t[2])
  8.   pWheelMembers = tWheelMembers
  9.   pVelocity = tPos + [random(-20, 20) / 2.0, random(-20, 20) / 2.0]
  10.   pTrackmanager.INeedADisplayUpdateEachFrame(me)
  11.   pTrackmanager.INeedAnUpdateEachFrame(me)
  12.   pAnimSpeed = random(10, 40) / 10.0
  13.   sprite(pSN).member = tWheelMembers[3]
  14.   sprite(pSN).ink = 36
  15.   sprite(pSN).backColor = rgb(255, 0, 255).paletteIndex
  16.   sprite(pSN).rect = sprite(pSN).member.rect
  17.   sprite(pSN).loc = point(-100, -100)
  18.   pAnimStates = []
  19.   repeat with i = 1 to 10
  20.     pAnimStates.append([#member: tWheelMembers[random(5)], #rotation: random(360)])
  21.   end repeat
  22.   pAnimCounter = 0
  23.   return me
  24. end
  25.  
  26. on Update me, tTime
  27.   pAnimCounter = pAnimCounter + (tTime / pAnimSpeed)
  28.   t = min(max(1, integer(pAnimCounter)), pAnimStates.count)
  29.   sprite(pSN).member = pAnimStates[t][#member]
  30.   sprite(pSN).rotation = pAnimStates[t][#rotation]
  31.   if getLength(pVelocity) > 2 then
  32.     pVelocity = pVelocity * power(0.90000000000000002, tTime)
  33.   else
  34.     pTrackmanager.IDontNeedAnUpdateEachFrame(me)
  35.   end if
  36.   pPosition = pPosition + (pVelocity * tTime / 10.0)
  37. end
  38.  
  39. on cleanUp me
  40.   pTrackmanager.IDontNeedADisplayUpdateEachFrame(me)
  41.   pTrackmanager.IDontNeedAnUpdateEachFrame(me)
  42.   pTrackmanager = 0
  43.   pCar = 0
  44.   return 0
  45. end
  46.  
  47. on display me, tScrollOffset
  48.   sprite(pSN).loc = pPosition + tScrollOffset
  49. end
  50.